'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" References consulted:
.\"   GNU glibc-2 source code and manual
.\"   Dinkumware C library reference http://www.dinkumware.com/
.\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
.TH wcwidth 3 2024-06-15 "Linux man-pages 6.9.1"
.SH NAME
wcwidth \- determine columns needed for a wide character
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.BR "#define _XOPEN_SOURCE" "       /* See feature_test_macros(7) */"
.B #include <wchar.h>
.P
.BI "int wcwidth(wchar_t " c );
.fi
.SH DESCRIPTION
The
.BR wcwidth ()
function returns the number of columns
needed to represent the wide character
.IR c .
If
.I c
is a printable wide character, the value
is at least 0.
If
.I c
is null wide character (L\[aq]\[rs]0\[aq]), the value is 0.
Otherwise, \-1 is returned.
.SH RETURN VALUE
The
.BR wcwidth ()
function returns the number of
column positions for
.IR c .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.na
.nh
.BR wcwidth ()
T}	Thread safety	MT-Safe locale
.TE
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
POSIX.1-2001.
.P
Note that before glibc 2.2.5, glibc used the prototype
.P
.nf
.BI "int wcwidth(wint_t " c );
.fi
.SH NOTES
The behavior of
.BR wcwidth ()
depends on the
.B LC_CTYPE
category of the
current locale.
.SH SEE ALSO
.BR iswprint (3),
.BR wcswidth (3)
